iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0
自我挑戰組

HTML、 PHP CRUD 自我學習系列 第 10

第10天 - PHP新增MySQL資料表內容

  • 分享至 

  • xImage
  •  

延續昨天的文章,今天來做PHP新增資料表的內容(不影響資料表結構)。

注意! 跟資料庫有關的動作 都要用FORM標籤包起來
<form method="post" action=""></form>

程式碼

<?php
/*新增會員等級*/
if (isset($_POST['add_role_btn'])) 
{
	$staff_role = $_POST['add_role'];
    //資料庫INSERT(新增)語法 : 
    //"INSERT INTO資料表(欄位1,欄位2...) VALUES ('值1,值2...')";
	$staff_r = "INSERT INTO add_role(STAFF_ROLE) VALUES('$staff_role')";
	$staff_run = mysqli_query($con,$staff_r);
}
?>

<form method="post" action="" onsubmit="return validateForm()"name="ROLEEEEE"> 
    <input type="text"
           placeholder="請輸入會員等級"
           name="add_role"
           id="roleeeee">
    <button name="add_role_btn">新增</button>
</form>

這種跟輸入有關的,建議都寫一個防全空白的JS,如下

JS用到的:
<!--FORM標籤的 onsubmit="return validateForm()"name="ROLEEEEE"
BUTTON標籤的 id="roleeeee"
(可上下對照一下)-->
<script>
	function validateForm() 
	{ 
        var x = document.forms["ROLEEEEE"]["roleeeee"].value;
        if (x == "") 
        {
            alert("等級不可為空");      
            return false; 
        }
	} 
</script>

心得:
寫這種PHP要注意每個標籤裡面的name值,以及資料庫語法是否完整、能對應你的資料表(例如 : 你的資料表有3個欄位 ,且有個欄位還用到【外部鍵】,如果照我上面這樣寫,就很有可能無法新增。解決辦法就是那一個【外部鍵】欄位要做選單來新增,這樣外部鍵的值就嘿確保不會空白、符合外部鍵的內容)
再補充個東西,我在弄這個時有個小小問題卡了一下子,那就是這張【表add_role】只有一個PK欄位(PK欄位的值不能重複),導致我檢查結果時因為用"過往輸入的內容(瀏覽器的表單紀錄)"一直無法新增,就是因為"PK欄位的值不能重複",所以資料表才會一直沒有變動。


上一篇
第09天 - PHP刪除MySQL資料表內容
下一篇
第11天 - PHP修改MySQL資料表內容
系列文
HTML、 PHP CRUD 自我學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言